package algo.math.evaluator.stack.interfaces;

import java.util.Iterator;

/**
 * The Interface ILifo.
 *
 * @param <V> the value type
 */
public interface ILifo<V> {

	/**
	 * Iterator.
	 *
	 * @return the iterator
	 */
	public Iterator<V> iterator();
	
	/**
	 * Checks if is empty.
	 *
	 * @return true, if is empty
	 */
	public boolean isEmpty();

	/**
	 * Peek.
	 *
	 * @return the v
	 */
	public V peek();
	
	/**
	 * Pop.
	 *
	 * @return the v
	 */
	public V pop();
	
	/**
	 * Push.
	 *
	 * @param arg0 the arg0
	 */
	public void push(V arg0);

	/**
	 * Size.
	 *
	 * @return the int
	 */
	public int size();
	
}
